package com.zjgeport.zjgdanger.OnPortDynamics;

import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.GridView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;

import com.soar.PageInfo;
import com.soar.controller.PullDownView;
import com.soar.util.net.rmi.httpxml.HttpCallBack;
import com.soar.util.net.rmi.httpxml.HttpClient;
import com.soar.util.net.rmi.httpxml.HttpMethod;
import com.soar.util.net.rmi.httpxml.HttpResult;
import com.zjgeport.zjgdanger.CommonActivity;
import com.zjgeport.zjgdanger.LoginActivity;
import com.zjgeport.zjgdanger.R;
import com.zjgeport.zjgdanger.adapter.AppGridAdapter;
import com.zjgeport.zjgdanger.adapter.ComGridAdapter;
import com.zjgeport.zjgdanger.common.ParamCommon;
import com.zjgeport.zjgdanger.model.myApplication;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class CompanyListActivity extends CommonActivity {

    private PullDownView mPullDownView;

    /** Handler What加载数据完毕 **/
    private static final int WHAT_DID_LOAD_DATA = 0;

    /** Handler What更新数据完毕 **/
    private static final int WHAT_DID_REFRESH = 1;

    /** Handler What更多数据完毕 **/
    private static final int WHAT_DID_MORE = 2;

    private ListView mListView;

    private EditText searchText;

    private TextView titleTV;

//    private MyCustomAdapter adapter;

    /** 分页信息 **/
    protected PageInfo pageInfo = new PageInfo();

    private List<HashMap<String, String>> dataList = new ArrayList<HashMap<String, String>>();

    private List<HashMap<String, String>> dataMore = new ArrayList<HashMap<String, String>>(); // 更多数据列表

    private String sql= "";

    private String keyword = "";

    private Integer currentPage = 1;

    private String pageSize = "1000";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_company_list);
        initCommonListener();
        initView();
    }

    private void initView()
    {
        titleTV = (TextView)findTextViewById(R.id.title);
        titleTV.setText("公司列表");
        int widthScreen  = getWindow().getWindowManager().getDefaultDisplay().getWidth();
        String names01[] = { "东华能源", "舜天化工","中油泰富","长江国际","开诚化工","凯伦仓储","宁兴液化","中东石化","孚宝仓储","永嘉码头","苏润码头"};
        int draws01[] = { R.drawable.dhny, R.drawable.sthg,R.drawable.zytf,R.drawable.cjgj,R.drawable.kchg,R.drawable.klcc,R.drawable.nxyh,R.drawable.zdsh,R.drawable.fbcc,R.drawable.yjmt,R.drawable.srmt};
        GridView gv_one = (GridView)findViewById(R.id.GridView_com);
        gv_one.setSelector(new ColorDrawable(Color.TRANSPARENT));
        ArrayList<HashMap<String, Object>> meumList = new ArrayList<HashMap<String, Object>>();
        for (int i = 0; i < names01.length; i++)
        {
            HashMap<String, Object> map = new HashMap<String, Object>();
            map.put("ItemImage", draws01[i]); // 为加载数据设置图标
            map.put("ItemText", names01[i]); // 设置其名称
            meumList.add(map);
        }
        // 为适配器中数据设置布局样式
        ComGridAdapter saItem = new ComGridAdapter(CompanyListActivity.this, meumList,widthScreen - 3*24,0,0);
        gv_one.setAdapter(saItem); // 为应用网格视图增加数据来源
        gv_one.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                switch (i){
                    case 0:
                        Intent intent1 = new Intent(CompanyListActivity.this, TankListActivity.class);
                        intent1.putExtra("Company_Id", "151ed8111ea1c83947-7af5");
                        startActivity(intent1);
                        break;
                    case 1:
                        Intent intent2 = new Intent(CompanyListActivity.this, TankListActivity.class);
                        intent2.putExtra("Company_Id", "1b6fc9412da604fa43-7c38");
                        startActivity(intent2);
                        break;
                    case 2:
                        Intent intent3 = new Intent(CompanyListActivity.this, TankListActivity.class);
                        intent3.putExtra("Company_Id", "161033711ed4a21d4c-7fa5");
                        startActivity(intent3);
                        break;
                    case 3:
                        Intent intent4 = new Intent(CompanyListActivity.this, TankListActivity.class);
                        intent4.putExtra("Company_Id", "657f2d11d09733179-7c0d");
                        startActivity(intent4);
                        break;
                    case 4:
                        Intent intent5 = new Intent(CompanyListActivity.this, TankListActivity.class);
                        intent5.putExtra("Company_Id", "1333ad11ea1c83947-75ea");
                        startActivity(intent5);
                        break;
                    case 5:
                        Intent intent6 = new Intent(CompanyListActivity.this, TankListActivity.class);
                        intent6.putExtra("Company_Id", "16dee1811ecd78b1a7-7d3e");
                        startActivity(intent6);
                        break;
                    case 6:
                        Intent intent7 = new Intent(CompanyListActivity.this, TankListActivity.class);
                        intent7.putExtra("Company_Id", "7cac4011ea1c83947-7b2d");
                        startActivity(intent7);
                        break;
                    case 7:
                        Intent intent8 = new Intent(CompanyListActivity.this, TankListActivity.class);
                        intent8.putExtra("Company_Id", "4a886511ecd78b1a7-7cf0");
                        startActivity(intent8);
                        break;
                    case 8:
                        Intent intent9 = new Intent(CompanyListActivity.this, TankListActivity.class);
                        intent9.putExtra("Company_Id", "3ee1a611d09733179-7d15");
                        startActivity(intent9);
                        break;
                    case 9:
                        Intent intent10 = new Intent(CompanyListActivity.this, TankListActivity.class);
                        intent10.putExtra("Company_Id", "1e42dbc11d09733179-7d7b");
                        startActivity(intent10);
                        break;
                    case 10:
                        Intent intent11 = new Intent(CompanyListActivity.this, TankListActivity.class);
                        intent11.putExtra("Company_Id", "2c098411ea1c83947-72fd");
                        startActivity(intent11);
                        break;

                }
            }
        });
//        searchText = findEditTextById(R.id.search_content1);
//        searchText.setHint("请输入公司名称");
//        searchText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
//
//            @Override
//            public boolean onEditorAction(TextView v, int actionId,
//                                          KeyEvent event) {
//                if ((actionId == 0 || actionId == 3) && event != null) {
//
//                    keyword = findEditTextStringById(R.id.search_content1);
//                    getTankList();
//
//                }
//                return false;
//            }
//        });

//        float scale = getResources().getDisplayMetrics().density;
//        int height = (int) (70 * scale + 0.5f);
//		/*
//		 * 1.使用PullDownView 2.设置OnPullDownListener 3.从mPullDownView里面获取ListView
//		 */
//        mPullDownView = new PullDownView(this, height);
//        mPullDownView = (PullDownView) this.findViewById(R.id.pull_down_view);
//        adapter = new MyCustomAdapter(this, dataList);
//        mPullDownView.setOnPullDownListener(new PullDownView.OnPullDownListener() {
//
//            public void onRefresh()
//            {
//                HttpMethod method = new HttpMethod();
//                final HashMap<String, String> map = new HashMap<String, String>();
//                currentPage = 1;
//                map.put("keyword", keyword);
//                map.put("pageSize",pageSize);
//                map.put("pageNo",currentPage.toString());
//                map.put("TOKEN", myApplication.getUser().getToken());
//                method.setAction(HttpMethod.SOAR_HTTP_METHOD_ACTION_EXEC);
//                method.setClassPath("com.mobile.Execute");
//                method.setMethodName("selectCompanyListInfo");
//                method.setKvdata(map);
//                final List<HashMap<String, String>> data = new ArrayList<HashMap<String, String>>();
//                HttpClient.postdata(new Button(CompanyListActivity.this), method, ParamCommon.ptl_server_url, true, new HttpCallBack() {
//                    @Override
//                    public void run(HttpResult result) {
//                        if (result.getResultCode().equals(HttpResult.SOAR_HTTP_STATUS_CODE_SUCCESS)) {
//                            List<HashMap<String, String>> data1 = result.getDataSet();
//                            if (data1 != null && data1.size() != 0) {
//                                data.addAll(data1);
//                            }
//
//                        } else {
//                            mPullDownView.notifyDidLoad();
//                            showToast(result.getResultMessage());
//                            if (result.getResultCode().equals("90"))
//                            {
//                                Intent intent = new Intent(CompanyListActivity.this,LoginActivity.class);
//                                startActivity(intent);
//                            }
//                        }
//                        // 刷新UI
//                        Looper mainLooper = Looper.getMainLooper();
//                        MyHandler handler = new MyHandler(mainLooper);
//                        Message msg = new Message();
//                        msg.what = WHAT_DID_REFRESH;
//                        msg.obj = data;
//                        handler.sendMessage(msg);
//                    }
//                });
//            }
//
//
//            public void onMore()
//            {
//                HttpMethod method = new HttpMethod();
//                final HashMap<String, String> map = new HashMap<String, String>();
//                currentPage = currentPage + 1;
//                map.put("keyword", keyword);
//                map.put("pageSize",pageSize);
//                map.put("pageNo",currentPage.toString());
//                map.put("TOKEN", myApplication.getUser().getToken());
//                method.setAction(HttpMethod.SOAR_HTTP_METHOD_ACTION_EXEC);
//                method.setClassPath("com.mobile.Execute");
//                method.setMethodName("selectCompanyListInfo");
//                method.setKvdata(map);
//                final List<HashMap<String, String>> data = new ArrayList<HashMap<String, String>>();
//                HttpClient.postdata(new Button(CompanyListActivity.this), method, ParamCommon.ptl_server_url, true, new HttpCallBack() {
//                    @Override
//                    public void run(HttpResult result) {
//                        if (result.getResultCode().equals(HttpResult.SOAR_HTTP_STATUS_CODE_SUCCESS)) {
//                            dataMore = result.getDataSet();
//                            if (dataMore != null && dataMore.size() != 0) {
//                                data.addAll(dataMore);
//                            }
//
//                        } else {
//                            mPullDownView.notifyDidLoad();
//                            showToast(result.getResultMessage());
//                            if (result.getResultCode().equals("90"))
//                            {
//                                Intent intent = new Intent(CompanyListActivity.this,LoginActivity.class);
//                                startActivity(intent);
//                            }
//                        }
//                        // 刷新UI
//                        if (data.size() >0)
//                        {
//                            Looper mainLooper = Looper.getMainLooper();
//                            MyHandler handler = new MyHandler(mainLooper);
//                            Message msg = new Message();
//                            msg.what = WHAT_DID_MORE;
//                            msg.obj = data;
//                            handler.sendMessage(msg);
//                        }
//                        else{
//                            Looper mainLooper = Looper.getMainLooper();
//                            MyHandler handler = new MyHandler(mainLooper);
//                            Message msg = new Message();
//                            msg.what = 4;
//                            msg.obj = data;
//                            handler.sendMessage(msg);
//                        }
//                    }
//                });
//            }
//        });
//
//        mListView = mPullDownView.getListView();
//        mListView.setDivider(getResources().getDrawable(R.color.white));
//        mListView.setSelector(R.color.ap_sel);// 取消点击背景
//        mListView.setAdapter(adapter);
//        mListView.setOnItemClickListener(new AdapterView.OnItemClickListener()
//        {
//            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)
//            {
//                Intent intent = new Intent(CompanyListActivity.this, TankListActivity.class);
//                intent.putExtra("Company_Name", dataList.get(arg2).get("B_COMPANY").toString());
//                startActivity(intent);
//            }
//        });
//        // 设置可以自动获取更多 滑到最后一个自动获取 改成false将禁用自动获取更多
//        mPullDownView.enableAutoFetchMore(false, 1);
//        mPullDownView.notifyDidLoad();
//        getTankList();

    }


//    /**
//     * 初始化数据列表信息
//     */
//    private void getTankList() {
//
//        HttpMethod method = new HttpMethod();
//        final HashMap<String, String> map = new HashMap<String, String>();
//        map.put("keyword", keyword);
//        map.put("pageSize",pageSize);
//        map.put("pageNo",currentPage.toString());
//        map.put("TOKEN", myApplication.getUser().getToken());
//        method.setAction(HttpMethod.SOAR_HTTP_METHOD_ACTION_EXEC);
//        method.setClassPath("com.mobile.Execute");
//        method.setMethodName("selectCompanyListInfo");
//        method.setKvdata(map);
//        final List<HashMap<String, String>> data = new ArrayList<HashMap<String, String>>();
//        HttpClient.postdata(new Button(CompanyListActivity.this), method, ParamCommon.ptl_server_url, true, new HttpCallBack() {
//            @Override
//            public void run(HttpResult result) {
//                if (result.getResultCode().equals(HttpResult.SOAR_HTTP_STATUS_CODE_SUCCESS)) {
//                    List<HashMap<String, String>> data1 = result.getDataSet();
//                    if (data1 != null && data1.size() != 0) {
//                        data.addAll(data1);
//                    }
//
//                } else {
//                    mPullDownView.notifyDidLoad();
//                    showToast(result.getResultMessage());
//                    if (result.getResultCode().equals("90"))
//                    {
//                        Intent intent = new Intent(CompanyListActivity.this,LoginActivity.class);
//                        startActivity(intent);
//                    }
//                }
//                // 刷新UI
//                Looper mainLooper = Looper.getMainLooper();
//                MyHandler handler = new MyHandler(mainLooper);
//                Message msg = new Message();
//                msg.what = WHAT_DID_LOAD_DATA;
//                msg.obj = data;
//                handler.sendMessage(msg);
//            }
//        });
//    }
//
//
//
//
//    private class MyHandler extends Handler
//    {
//        public MyHandler(Looper looper)
//        {
//            super(looper);
//        }
//
//        @SuppressWarnings("unchecked")
//        public void handleMessage(Message msg)
//        {
//            switch (msg.what)
//            {
//                case WHAT_DID_LOAD_DATA:
//                    List<HashMap<String, String>> dataNewList = (List<HashMap<String, String>>) msg.obj;
//                    List<HashMap<String, String>> dataCacheList = new ArrayList<HashMap<String, String>>();
//                    if (dataNewList != null && dataNewList.size() != 0)
//                    {
//                        dataList.clear();
//                        for (int i = 0; i < dataNewList.size(); i++)
//                        {
//                            dataList.add(dataNewList.get(i));
//                        }
//                    }
//                    else
//                    {
//                        if (dataCacheList != null && dataCacheList.size() != 0)
//                        {
//                            dataList.clear();
//                            for (int i = 0; i < dataCacheList.size(); i++)
//                            {
//                                dataList.add(dataCacheList.get(i));
//                            }
//                        }
//                        else {
//                            dataList.clear();
//                        }
//                    }
//                    adapter.notifyDataSetChanged();
//                    mPullDownView.notifyDidLoad();
//                    break;
//                case WHAT_DID_REFRESH:
//                    adapter.notifyDataSetChanged();
//                    mPullDownView.notifyDidRefresh();
//                    break;
//                case WHAT_DID_MORE:
//                    List<HashMap<String, String>> dataMoreList = (List<HashMap<String, String>>) msg.obj;
//                    if (dataMoreList == null)
//                    {
//                        dataMoreList = new ArrayList<HashMap<String, String>>();
//                    }
//                    if (dataList != null && dataList.size() != 0)
//                    {
//                        // 新的List组成，新加载的加上原来的列表
//                        dataList.addAll(dataMoreList);
//                    }
//                    adapter.notifyDataSetChanged();
//                    mPullDownView.notifyDidMore();
//                    break;
//                case 4:
//                    mPullDownView.changeFoot(0, "没有更多信息了");
//                case 999:
//                    List<HashMap<String, String>> dataNewList1 = (List<HashMap<String, String>>) msg.obj;
//                    if (dataNewList1 != null)
//                    {
//                        adapter.notifyDataSetChanged();;
//                        mPullDownView.notifyDidLoad();
//
//                    }
//                default:
//                    break;
//            }
//        }
//    }
//
//    class MyCustomAdapter extends BaseAdapter
//    {
//        private Context main;
//
//        private List<HashMap<String, String>> list;
//
//        public MyCustomAdapter(Context main, List<HashMap<String, String>> list)
//        {
//            this.main = main;
//            this.list = list;
//        }
//
//        public int getCount()
//        {
//            return list.size();
//        }
//
//        public Object getItem(int position)
//        {
//            return list.get(position);
//        }
//
//        public long getItemId(int position)
//        {
//            return position;
//        }
//
//        public View getView(int position, View convertView, ViewGroup parent)
//        {
//            // 如果未选择或list列表为空时直接跳出，避免NullPointException
//            if (position < 0 || list.size() <= 0)
//            {
//                return null;
//            }
////            如果为空重新导入ListView的布局文件，布局文件自定义
//            if (convertView == null)
//            {
//                convertView = LayoutInflater.from(main).inflate(R.layout.listitemcompany, null);
//            }
//
//            LinearLayout tvll = (LinearLayout)convertView.findViewById(R.id.tvll);
//            LinearLayout titleLL = (LinearLayout)convertView.findViewById(R.id.titleLL);
//            TextView title = (TextView)convertView.findViewById(R.id.compCount);
//            TextView t1 = (TextView)convertView.findViewById(R.id.t1);
//            if (position>0)
//            {
//                titleLL.setVisibility(View.GONE);
//            }
//            title.setText(String.valueOf(list.size()));
//            if (position %2 ==0)
//            {
//                tvll.setBackgroundResource(R.color.seperator_line);
//            }
//            else {
//                tvll.setBackgroundResource(R.color.white);
//            }
//
//            if (position<=8)
//            {
//                t1.setText("0"+(position+1)+list.get(position).get("B_COMPANY").toString());
//            }
//            else
//            {
//                t1.setText((position+1)+list.get(position).get("B_COMPANY").toString());
//            }
//
//            return convertView;
//        }
//    }
}
